﻿"格式化代码
func! FormatCode()
    "取得当前光标所在行号  
    let lineNum = line(".")  
    "C源程序  
    if &filetype == 'c'  
        "执行调用外部程序的命令  
        exec "! astyle --mode=c --align-pointer=name --align-reference=name --suffix=none --style=ansi --convert-tabs --lineend=linux %"
        "H头文件(文件类型识别为cpp)，CPP源程序  
    elseif &filetype == 'cpp'  
        "执行调用外部程序的命令  
        exec "! astyle --mode=c --align-pointer=name --align-reference=name --suffix=none --style=ansi --convert-tabs --lineend=linux %"
        "JAVA源程序  
    elseif &filetype == 'java'  
        "执行调用外部程序的命令  
        exec "! astyle --mode=java --align-pointer=name --align-reference=name --suffix=none --style=ansi --convert-tabs --lineend=linux %"
    elseif &filetype == 'cs'
        "执行调用外部程序的命令  
        exec "! astyle --mode=cs --align-pointer=name --align-reference=name --suffix=none --style=ansi --convert-tabs --lineend=linux %"
    else   
        "提示信息  
        echo "不支持".&filetype."文件类型。"  
    endif  
    "返回先前光标所在行  
    exec lineNum 
endf

map <leader>cf :call FormatCode()<CR>
